% schmidt_number Compute a Schmidt number
%
% Sc = schmidt_number(SPECIES,T,S)
% 
% Compute Schmidt number for SPECIES
%
% Inputs:
%	SPECIES (string): Can be:
%		OXY for oxygen
%	T (double): temperature in Celsius
%	S (double): salinity in psu
%
% Output:
%	Sc: Schmidt number for SPECIES
%
% Note:
%	The Schmidt number is a dimensionless number defined as the ratio of 
%	the water kinematic viscosity and diffusion coefficient of the gas 
%	in question
%
% Ref:
%	?
%
% Created: 2010-06-28.
% Copyright (c) 2010, Guillaume Maze (Laboratoire de Physique des Oceans).
% All rights reserved.
% http://codes.guillaumemaze.org

% 
% Redistribution and use in source and binary forms, with or without
% modification, are permitted provided that the following conditions are met:
% 	* Redistributions of source code must retain the above copyright notice, this list of 
% 	conditions and the following disclaimer.
% 	* Redistributions in binary form must reproduce the above copyright notice, this list 
% 	of conditions and the following disclaimer in the documentation and/or other materials 
% 	provided with the distribution.
% 	* Neither the name of the Laboratoire de Physique des Oceans nor the names of its contributors may be used 
%	to endorse or promote products derived from this software without specific prior 
%	written permission.
%
% THIS SOFTWARE IS PROVIDED BY Guillaume Maze ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 
% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Guillaume Maze BE LIABLE FOR ANY 
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
% LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 
% BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
% STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
% OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%

function varargout = schmidt_number(varargin)

SPECIES = varargin{1};
switch SPECIES
	case 'OXY'
		T = varargin{2};
		S = varargin{3};
		
		Sc0 = 1800.6 - 120.1*T + 3.7818*T.^2 - 0.047608*T.^3;
		Sc  = Sc0.*(1 + 3.14*1e-3*S);
		varargout(1) = {Sc}; 
				
	otherwise
		error('Unknown parameter')
end%switch

end %functionschmidt_number






